import pymysql

from utils.log_util import logger
from utils.read import base_data

data = base_data.read_ini()['mysql']
DB_CONF = {
    'host': data['MYSQL_HOST'],
    'port': int(data['MYSQL_PORT']),
    'user': data['MYSQL_USER'],
    'password': data['MYSQL_PASSWD'],
    'database': data['MYSQL_DB']

}


class MsyqlUtil:
    # 创建连接
    def __init__(self):
        # mysql连接
        self.conn = pymysql.connect(**DB_CONF, autocommit=True)
        # 创建 DictCursor 以字典形式返回
        self.cursor = self.conn.cursor(pymysql.cursors.DictCursor)

    # 释放资源
    def __del__(self):
        self.cursor.close()
        self.conn.close()

    # 查询方法
    def query(self, sql):
        logger.info(f'执行的sql：{sql}')
        self.cursor.execute(sql)
        result = self.cursor.fetchone()
        logger.info(f'sql执行结果：{result}')
        return result

    # 执行更新、删除语句
    def execute_db(self, sql):
        logger.info(f'执行的sql：{sql}')
        self.cursor.execute(sql)


db = MsyqlUtil()
